/**
 * Reserva.java 
 * Clase que respresenta la reserva de una oferta por parte de un usuario
 * puede publicar ofertas.
 * @author Esther García Galán
 * @author Rubén Gómez Vales
 */
package ocio.beans;

import java.io.Serializable;
import java.util.Date;

/**
 * Respresenta la reserva de una oferta por parte de un usuario cliente o administrador
 * @author Esther García Galán
 * @author Rubén Gómez Vales
 * @version 1.0 13/05/2014
 * @see ocio.beans.Oferta
 * @see ocio.beans.Cliente 
 */
public class Reserva implements Serializable {

	private static final long serialVersionUID = 1L;
	private int id;
	private int numPlazas;
	private Date fecha;
	private Oferta oferta;
	private Cliente cliente;
	private Admin admin;

	/**
	 * Constructor de Clase.	
	 */
	public Reserva(){
		
	}
	
	 /**
	 * Método getter.         
	 * @return id Devuelve el identificador único en base de datos de la reserva.
	 */ 
	public int getId() {
		return id;
	}
	
	/**
	 * Método setter.         
	 * @param id Asigna a la reserva un identificador único para la base de datos.
	 */ 
	public void setId(int id) {
		this.id = id;
	}
	
	 /**
	 * Método getter.         
	 * @return numPlazas Devuelve el número de plazas para la reserva.
	 */ 
	public int getNumPlazas() {
		return numPlazas;
	}
	
	/**
	 * Método setter.         
	 * @param numPlazas Establece el número de plazas para la reserva.
	 */ 
	public void setNumPlazas(int numPlazas) {
		this.numPlazas = numPlazas;
	}
	
	 /**
	 * Método getter.         
	 * @return fecha Devuelve la fecha para la que se ha hecho la reserva.
	 */ 
	public Date getFecha() {
		return fecha;
	}
	
	/**
	 * Método setter.         
	 * @param fecha Establece la fecha para la que se ha hecho la reserva.
	 */ 
	public void setFecha(Date fecha) {
		this.fecha = fecha;
	}
	
	 /**
	 * Método getter.         
	 * @return cliente Devuelve el cliente que ha realizado la reserva.
	 */ 
	public Cliente getCliente() {
		return cliente;
	}
	
	/**
	 * Método setter.         
	 * @param cliente Establece el cliente que ha realizado la reserva.
	 */ 
	public void setCliente(Cliente cliente) {
		this.cliente = cliente;
	}
	
	 /**
	 * Método getter.         
	 * @return oferta Devuelve la oferta sobre la que se ha realizado la reserva.
	 */
	public Oferta getOferta() {
		return oferta;
	}
	
	/**
	 * Método setter.         
	 * @param oferta Establece la oferta sobre la que se ha realizado la reserva.
	 */ 
	public void setOferta(Oferta oferta) {
		this.oferta = oferta;
	}

	 /**
	 * Método getter.         
	 * @return admin Devuelve el administrador cuando es este el que ha realizado la reserva.
	 */
	public Admin getAdmin() {
		return admin;
	}
	
	/**
	 * Método setter.         
	 * @param admin Establece al admnistrador como el usuario que ha realizado la reserva.
	 */ 
	public void setAdmin(Admin admin) {
		this.admin = admin;
	}
}
